Expo SDK এর বিভিন্ন Components এবং Features

Mobile App Development - রিঅ্যাক্ট নেটিভ (React Native) - React Native এবং Expo এর মধ্যে পার্থক্য
209

Expo হল React Native ডেভেলপমেন্টের জন্য একটি ওপেন সোর্স ফ্রেমওয়ার্ক এবং প্ল্যাটফর্ম যা মোবাইল অ্যাপ্লিকেশন ডেভেলপমেন্টকে দ্রুত, সহজ এবং কার্যকরী করে তোলে। Expo SDK একটি সমৃদ্ধ লাইব্রেরি অফ কম্পোনেন্টস এবং ফিচার সরবরাহ করে, যা React Native অ্যাপ্লিকেশনের ডেভেলপমেন্টে সহায়ক। Expo ব্যবহার করে আপনি মোবাইল অ্যাপ্লিকেশন তৈরি করতে পারেন যা নেটিভ কোডে কম্পাইল করা হয়, তবে Expo এর মধ্যে অনেক নেটিভ API এবং কম্পোনেন্টস প্রস্তুত থাকে, যা React Native অ্যাপ্লিকেশনের ডেভেলপমেন্টকে আরো দ্রুত ও সহজ করে।

নিচে Expo SDK এর বিভিন্ন components এবং features এর বিস্তারিত আলোচনা করা হল:


১. Expo Components

Expo SDK বিভিন্ন ধরণের কম্পোনেন্ট সরবরাহ করে, যা আপনাকে আপনার অ্যাপে দ্রুত ফিচার এবং ইউজার ইন্টারফেস যোগ করতে সাহায্য করে।

a. Text Component:

এটি একটি স্ট্যান্ডার্ড React Native Text কম্পোনেন্ট যা Expo SDK-এ ব্যবহৃত হয়। ব্যবহারকারীকে স্ক্রীনে টেক্সট প্রদর্শনের জন্য এটি ব্যবহৃত হয়।

import { Text } from 'react-native';

<Text>Welcome to Expo!</Text>

b. View Component:

এটি React Native এর একটি সাধারণ কন্টেইনার কম্পোনেন্ট, যা অন্যান্য উপাদানকে গ্রুপ করতে ব্যবহৃত হয়।

import { View, Text } from 'react-native';

<View>
  <Text>Inside the View Component</Text>
</View>

c. ImagePicker Component:

ImagePicker কম্পোনেন্টটি ব্যবহারকারীদের গ্যালারি থেকে ইমেজ নির্বাচন করার সুযোগ দেয়।

import * as ImagePicker from 'expo-image-picker';

const pickImage = async () => {
  let result = await ImagePicker.launchImageLibraryAsync();
  console.log(result);
};

d. Camera Component:

Camera কম্পোনেন্টটি ক্যামেরা ফিচারটি সরবরাহ করে, যা দিয়ে ব্যবহারকারী ক্যাপচার করতে পারেন।

import { Camera } from 'expo-camera';

<Camera style={{ flex: 1 }} />

e. MapView Component:

MapView কম্পোনেন্টটি ম্যাপ প্রদর্শনের জন্য ব্যবহৃত হয়, যা ব্যবহারকারীদের বিভিন্ন স্থান দেখানোর সুযোগ দেয়।

import MapView, { Marker } from 'react-native-maps';

<MapView style={{ flex: 1 }}>
  <Marker coordinate={{ latitude: 37.78825, longitude: -122.4324 }} />
</MapView>

২. Expo Features

Expo SDK এর কিছু শক্তিশালী ফিচার রয়েছে যা React Native অ্যাপ্লিকেশন ডেভেলপমেন্টে সহায়ক।

a. Push Notifications:

Expo SDK দিয়ে আপনি সহজেই পুশ নোটিফিকেশন সিস্টেম সেটআপ করতে পারেন। Expo এর মাধ্যমে আপনি ফায়ারবেস বা অন্য কোনো পুশ নোটিফিকেশন সার্ভিস ব্যবহার না করেই পুশ নোটিফিকেশন পাঠাতে পারেন।

import { Notifications } from 'expo';

const sendPushNotification = async () => {
  const message = {
    to: '<Expo Push Token>',
    sound: 'default',
    title: 'Hello',
    body: 'This is a push notification from Expo!',
    data: { withSome: 'data' },
  };
  
  await Notifications.presentNotificationAsync(message);
};

b. Location:

Location API দিয়ে ব্যবহারকারীদের অবস্থান (Geo-location) ট্র্যাক করা যায়। এটি আপনাকে ডিভাইসের GPS ব্যবহার করে ব্যবহারকারীর সঠিক অবস্থান পেতে সাহায্য করে।

import * as Location from 'expo-location';

const getLocation = async () => {
  let location = await Location.getCurrentPositionAsync({});
  console.log(location);
};

c. SecureStore:

SecureStore API দিয়ে আপনি সিকিউরভাবে ডেটা স্টোর করতে পারেন, যেমন পাসওয়ার্ড বা API কীগুলোর জন্য।

import * as SecureStore from 'expo-secure-store';

const saveData = async () => {
  await SecureStore.setItemAsync('key', 'value');
};

const readData = async () => {
  const value = await SecureStore.getItemAsync('key');
  console.log(value);
};

d. FileSystem:

FileSystem API দিয়ে আপনি লোকাল ফাইল সিস্টেমের সাথে কাজ করতে পারেন। এটি দিয়ে ফাইল তৈরি, পড়া, লেখার কাজ করা যায়।

import * as FileSystem from 'expo-file-system';

const saveFile = async () => {
  await FileSystem.writeAsStringAsync(FileSystem.documentDirectory + 'myFile.txt', 'Hello Expo!');
};

const readFile = async () => {
  const fileContent = await FileSystem.readAsStringAsync(FileSystem.documentDirectory + 'myFile.txt');
  console.log(fileContent);
};

e. BarCodeScanner:

BarCodeScanner কম্পোনেন্টটি ব্যবহারকারীদের বারকোড বা কিউআর কোড স্ক্যান করার সুযোগ দেয়।

import { BarCodeScanner } from 'expo-barcode-scanner';

<BarCodeScanner
  onBarCodeScanned={scanResult => console.log(scanResult)}
  style={{ flex: 1 }}
/>

৩. Expo Managed Workflow

Expo-র একটি বিশেষ বৈশিষ্ট্য হল Managed Workflow, যা আপনাকে কোনো ধরনের সেটআপ ছাড়াই React Native অ্যাপ্লিকেশন তৈরি করার সুবিধা দেয়। এতে আপনাকে Xcode বা Android Studio সেটআপ করতে হয় না। সমস্ত ডিপেনডেন্সি Expo দ্বারা পরিচালিত হয়, এবং আপনি সরাসরি expo build কমান্ড দিয়ে অ্যাপের APK বা IPA ফাইল তৈরি করতে পারেন।

ফিচার:

  • No Build Configuration Needed: Expo আপনার অ্যাপের সব বিল্ড কনফিগারেশন নিজে পরিচালনা করে।
  • OTA Updates: আপনি সহজেই অ্যাপের নতুন ভার্সন Over-the-Air (OTA) আপডেট হিসেবে ডেলিভার করতে পারেন।

অ্যাপ তৈরি করা:

expo init my-new-app
cd my-new-app
expo start

৪. Expo for Web

Expo SDK এর একটি বিশেষ সুবিধা হল Expo for Web, যা আপনাকে React Native কোড ব্যবহার করে ব্রাউজারে অ্যাপ চালানোর সুযোগ দেয়। অর্থাৎ, আপনি একই কোডবেস দিয়ে iOS, Android, এবং ওয়েব অ্যাপ্লিকেশন তৈরি করতে পারবেন।

expo start --web

এই কমান্ডটি আপনাকে আপনার অ্যাপের ওয়েব ভার্সন চালানোর সুযোগ দেবে।


৫. Expo Notifications

Expo-এর Push Notifications ফিচারটি আপনাকে সহজে পুশ নোটিফিকেশন সিস্টেম ইন্টিগ্রেট করতে দেয়। আপনি Expo ক্লাউড সার্ভিস ব্যবহার করে বা Firebase এর মাধ্যমে পুশ নোটিফিকেশন পাঠাতে পারেন।

import { Notifications } from 'expo';

const sendPushNotification = async () => {
  const message = {
    to: '<Expo Push Token>',
    sound: 'default',
    title: 'Hello',
    body: 'This is a push notification from Expo!',
    data: { withSome: 'data' },
  };
  
  await Notifications.presentNotificationAsync(message);
};

সারাংশ

Expo SDK React Native অ্যাপ ডেভেলপমেন্টের জন্য শক্তিশালী ফিচার এবং কম্পোনেন্ট সরবরাহ করে। এর মধ্যে Camera, MapView, Push Notifications, Location, SecureStore, FileSystem ইত্যাদি গুরুত্বপূর্ণ ফিচার অন্তর্ভুক্ত রয়েছে। Expo ব্যবহারের মাধ্যমে আপনি দ্রুত এবং সহজভাবে মোবাইল অ্যাপ্লিকেশন তৈরি করতে পারেন, এবং Managed Workflow এর সাহায্যে কোনো কনফিগারেশন ছাড়াই অ্যাপ তৈরি করতে পারবেন।

Expo SDK আপনাকে মোবাইল অ্যাপ্লিকেশন ডেভেলপমেন্টে সময় এবং প্রচেষ্টা বাঁচাতে সাহায্য করে, এবং এর Web Support এর মাধ্যমে আপনার অ্যাপ একই কোডবেস থেকে ওয়েবেও রান করাতে পারেন।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...